package test4_12_2;

import java.io.*;
import java.net.Socket;

/**
 * 客户端要求：

 1. 创建一个套接字(Socket)， 向服务器的侦听端口发出请求；
 2. 从本地选择一个带有敏感词汇的文本文件上传到服务器；
 3. 并将服务端响应的数据在控制台输出。

 */
public class ClientDemo {
    public static void main(String[] args) throws IOException {
        Socket socket = new Socket("127.0.0.1",10086);

        //创建网络字节输出流，：
        OutputStream outputStream = socket.getOutputStream();
        //转换为字符输出流：
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(outputStream));
        //创建本地字符输入流，读取本地文件：
        BufferedReader br = new BufferedReader(new FileReader("F:\\Download\\笔记\\day08\\考试\\试题B\\test.txt"));

        //一读一写：
        String len;
        while ((len = br.readLine())!=null){
            bw.write(len);
            bw.newLine();
            bw.flush();
        }

        //上传完成，给服务器结束标志：
        socket.shutdownOutput();

        //读取网络回写内容：
        InputStream inputStream = socket.getInputStream();
        //转换字符输入流：
        BufferedReader brSocket = new BufferedReader(new InputStreamReader(inputStream));
        String str;
        while ((str=brSocket.readLine())!=null){
            System.out.println(str);
        }


        //关流：

        br.close();
        brSocket.close();
        socket.close();

    }
}
